package xjggb.algorithm.排序.sort.bubble;

import xjggb.algorithm.排序.sort.Sort;



public class BubbleSort2<T extends Comparable<T>> extends Sort<T> {

    /*
    * 设置一个标记
    * 如果里面的一轮没有调位，标志位没有变化，表示已经排好序了
    * */
    @Override
    protected void sort() {
        for (int end = array.length-1; end >0 ; end--) {
            boolean sorted=true;
            for (int begin = 1; begin <=end; begin++) {
                if (cmp(begin,begin-1)<0)
                    swap(begin,begin-1);
                sorted=false;
            }
            if (sorted) break;
        }
    }
}
